/*
 ============================================================================
 文件名 	: EasyBounceMainContainer.h
 描述		: mainview container.
 ============================================================================
 */
#ifndef EASYBOUNCEMAINCONTAINER_H_
#define EASYBOUNCEMAINCONTAINER_H_

// 引用
#include <coecntrl.h>
#include <aknlists.h>
#include <aknbutton.h>

#include "coedef.h"

/**
*  类声明
*/
class CEasyBounceMainContainer : public CCoeControl, MCoeControlObserver
    {
    public: // 构造和析构函数
        
        /**
        * 两阶段构造函数.
        * @参数aRect，表示container在屏幕上对应的区域.
        */
        void ConstructL(const TRect& aRect);

        /**
        * 虚析构函数.
        */
        ~CEasyBounceMainContainer();
        
        /*
          OfferKeyEventL
	              处理按键事件
          @参数aKeyEvent，按键事件
          @参数aType，按键事件类型，分为以下三种: EEventKey, EEventKeyUp以及EEventKeyDown.
          @返回值用来表示按键事件是否被此控件处理.
          */
         TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);

    private: // 基类函数

       /**
        * 继承自CoeControl
        */
        void SizeChanged();

       /**
        * 继承自CoeControl
        */
        TInt CountComponentControls() const;

       /**
        * 继承自 CCoeControl
        */
        CCoeControl* ComponentControl(TInt aIndex) const;

       /**
        * 继承自 CCoeControl
        */
        void Draw(const TRect& aRect) const;

       /**
        * 继承自CCoeControl
        * 用于处理控件事件
        */
        void HandleControlEventL(CCoeControl* aControl, TCoeEvent aEventType);
        
        /**
        * 继承自CCoeControl
        */
        void HandleResourceChange(TInt aType);
        
        /**
         * 用于支持皮肤
         */
        TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
        
        /**
         * 新增函数
         */
        void CreateLableL();

        /**
         * 新增函数
         * 创建start和rank按钮
         */
        void CreateButtonsL();
        
    private: //数据
    	CEikLabel* iLabel;
    	CAknButton* iStartButton;
    	CAknButton* iRankButton;
    	
    	//此成员用于支持皮肤
    	CAknsBasicBackgroundControlContext* iBgContext;
    };

#endif /* EASYBOUNCEMAINCONTAINER_H_ */
